package cn.wwxula.common.runner;

import cn.hutool.core.util.StrUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeansException;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;

/**
 * @author liyang23
 * @date 2024/12/10 11:12
 **/
@Slf4j
@Component
public class CommonApplicationRunner implements ApplicationRunner {
    /**
     * 运行时执行，校验当前项目所需的环境变量是否配置
     *
     * @param args SpringBoot项目的运行参数
     */
    @Override
    public void run(ApplicationArguments args) {
        // 校验阿里云是否配置相关环境变量
        String ossAccessKeyId = System.getenv("OSS_ACCESS_KEY_ID");
        String ossAccessKeySecret = System.getenv("OSS_ACCESS_KEY_SECRET");
        if (StrUtil.isEmpty(ossAccessKeyId) || StrUtil.isEmpty(ossAccessKeySecret)) {
            log.error("阿里云OSS环境变量未配置，为避免部分功能异常，进行相应配置...");
        }
        // 校验JWT秘钥是否配置环境变量
        String jwtSecretKey = System.getenv("JWT_SECRET_KEY");
        if (StrUtil.isEmpty(jwtSecretKey)) {
            log.error("JWT秘钥未配置，为避免部分功能异常，进行相应配置...");
        }
    }
}
